Extension point restlets
Documentation
This extension point lets you contribute new Restlets: ie, new REST API executor. Sample contribution: /{repo}/{docid}/pluginUpload
Contribution Descriptors
- Class: org.nuxeo.ecm.platform.ui.web.restAPI.service.RestletPluginDescriptor
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="restlets" target="org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService"> <documentation> <![CDATA[ GET /nuxeo/restAPI/getTiles/{repoId}/{docId}/{tileWidth}/{tileHeight}/{maxTiles}?fieldPath=(subPath)&x=(tileX)&y=(tileY)&format=(XML|JSON) ]]> </documentation> <restletPlugin class="org.nuxeo.ecm.platform.pictures.tiles.restlets.PictureTilesRestlets" enabled="true" name="getTiles" useSeam="false"> <urlPatterns> <urlPattern>/getTiles/{repoId}/{docId}/{tileWidth}/{tileHeight}/{maxTiles}</urlPattern> </urlPatterns> </restletPlugin> </extension>
-
<extension point="restlets" target="org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService"> <documentation> GET /nuxeo/restAPI/preview/{repoId}/{docId}/{fieldPath}?subPath=(subPath) </documentation> <restletPlugin class="org.nuxeo.ecm.platform.preview.restlet.PreviewRestlet" enabled="true" name="preview" useSeam="true"> <urlPatterns> <urlPattern>/preview/{repo}/{docid}/{fieldPath}/{subPath}</urlPattern> <urlPattern>/preview/{repo}/{docid}/{fieldPath}/</urlPattern> </urlPatterns> </restletPlugin> </extension>
-
<extension point="restlets" target="org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService"> <documentation> GET /nuxeo/restAPI/contentDiff/{repo}/{leftDocId}/{rightDocId}/{fieldXPath}/{subPath}?conversionType=(conversionType)&locale={locale} </documentation> <restletPlugin class="org.nuxeo.ecm.diff.content.restlet.ContentDiffRestlet" enabled="true" name="contentDiff" useSeam="true"> <urlPatterns> <urlPattern>/contentDiff/{repo}/{leftDocId}/{rightDocId}/{fieldXPath}/ </urlPattern> <urlPattern>/contentDiff/{repo}/{leftDocId}/{rightDocId}/{fieldXPath}/{subPath} </urlPattern> </urlPatterns> </restletPlugin> </extension>
-
<extension point="restlets" target="org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService"> <documentation> Create a File document via upload POST /nuxeo/restAPI/{repoId}/{docId}/{filename}/upload </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UploadRestlet" enabled="true" name="upload" useSeam="true"> <urlPatterns> <urlPattern>/{repo}/{docid}/{filename}/upload</urlPattern> </urlPatterns> </restletPlugin> <documentation> Restlet for uploading a file via the Plugin (linked to FileManager) (ie create a document from a file) POST /nuxeo/restAPI/{repoId}/{docId}/pluginUpload/{path} POST /nuxeo/restAPI/{repoId}/{docId}/createFromFile/{path} </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.PluginUploadRestlet" enabled="true" name="pluginUpload" useConversation="true" useSeam="true"> <urlPatterns> <urlPattern>/{repo}/{docid}/pluginUpload</urlPattern> <urlPattern>/{repo}/{docid}/createFromFile</urlPattern> </urlPatterns> </restletPlugin> <documentation> Simple restlet to browse content GET /nuxeo/restAPI/browse GET /nuxeo/restAPI/{repoId}/browse GET /nuxeo/restAPI/{repoId}/{docId}/browse </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.BrowseRestlet" enabled="true" name="browse" useSeam="false"> <urlPatterns> <urlPattern>/browse</urlPattern> <urlPattern>/{repo}/browse</urlPattern> <urlPattern>/{repo}/{docid}/browse</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/{repoId}/{docId}/export => export a document and possibly associated tree GET /nuxeo/restAPI/{repoId}/{docId}/exportSingle => export a single document GET /nuxeo/restAPI/{repoId}/{docId}/exportTree => export a document tree Associated GET parameters are : - format : xml/zip </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.ExportRestlet" enabled="true" name="export" useSeam="false"> <urlPatterns> <urlPattern>/{repo}/{docid}/export</urlPattern> <urlPattern>/{repo}/{docid}/exportSingle</urlPattern> <urlPattern>/{repo}/{docid}/exportTree</urlPattern> </urlPatterns> </restletPlugin> <documentation> Allows lock manipulation via Restlet API: GET /nuxeo/restAPI/{repoId}/{docId}/Locking/lock GET /nuxeo/restAPI/{repoId}/{docId}/Locking/unlock GET /nuxeo/restAPI/{repoId}/{docId}/Locking/status GET /nuxeo/restAPI/{repoId}/{docId}/Locking/state LOCK /nuxeo/restAPI/{repoId}/{docId}/Locking UNLOCK /nuxeo/restAPI/{repoId}/{docId}/Locking </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.LockingRestlet" enabled="true" name="locking" useConversation="false" useSeam="false"> <urlPatterns> <urlPattern>/{repo}/{docid}/Locking</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile or equivalently with optional query parameters: GET /nuxeo/restAPI/{repoId}/{docId}/downloadFile?schema=file&blobField=content&filenameField=filename </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DownloadFileRestlet" enabled="true" name="downloadFileRestlet" useSeam="true"> <urlPatterns> <urlPattern>/{repo}/{docid}/downloadFile</urlPattern> </urlPatterns> </restletPlugin> <documentation> Upload a file in an existing document POST /nuxeo/restAPI/{repo}/{docid}/{filename}/uploadFile </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UploadFileRestlet" enabled="true" name="uploadFileRestlet" useSeam="true"> <urlPatterns> <urlPattern>/{repo}/{docid}/{filename}/uploadFile</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument or equivalently with optional query paramaters: GET /nuxeo/restAPI/{repo}/{parentdocid}/createDocument?docType=File or POST /nuxeo/restAPI/{repo}/{parentdocid}/createDocument with arguments with initial values of the documents fields as string valued properties </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.CreateDocumentRestlet" enabled="true" name="createDocumentRestlet" useSeam="true"> <urlPatterns> <urlPattern>/{repo}/{parentdocid}/createDocument</urlPattern> </urlPatterns> </restletPlugin> <documentation> Allows deleting documents via Restlet API: GET /nuxeo/restAPI/{repoId}/{docId}/deleteDocumentRestlet GET /nuxeo/restAPI/{repoId}/{docId}/delete GET /nuxeo/restAPI/{repoId}/deleteDocumentByPath?path=/default-domain/workspaces/doc1 </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DeleteDocumentRestlet" enabled="true" name="deleteDocumentRestlet" useSeam="false"> <urlPatterns> <urlPattern>/{repo}/{docid}/deleteDocumentRestlet</urlPattern> <urlPattern>/{repo}/{docid}/delete</urlPattern> <urlPattern>/{repo}/deleteDocumentByPath</urlPattern> </urlPatterns> </restletPlugin> <documentation> Allows to update document properties via Restlet API: GET /nuxeo/restAPI/{repoId}/{docId}/updateDocumentRestlet?prop1=value1 GET /nuxeo/restAPI/{repoId}/{docId}/update?prop1=value1 example : http://127.0.0.1:8080/nuxeo/restAPI/default/1fee4b3e-8b8e-494e-b0a5-eef5113fb5a7/updateDocumentRestlet?dublincore:description=No%20comment </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.UpdateDocumentRestlet" enabled="true" name="updateDocumentRestlet" useSeam="false"> <urlPatterns> <urlPattern>/{repo}/{docid}/updateDocumentRestlet</urlPattern> <urlPattern>/{repo}/{docid}/update</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/creationContainerList or equivalently with optional query paramaters (where docType is the type of the document to create): GET /nuxeo/restAPI/creationContainerList?docType=File </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.CreationContainerListRestlet" enabled="true" name="creationFolderListRestlet" useSeam="true"> <urlPatterns> <urlPattern>/creationContainerList</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/opensearch?q=keywords Perform a document search on the ecm:fulltext index and return the results as a RSS 2.0 file with opensearch.org metadata </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.OpenSearchRestlet" enabled="true" name="openSearchRestlet" useSeam="false"> <urlPatterns> <urlPattern>/opensearch</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/directoryCacheInvalidate GET /nuxeo/restAPI/directoryCacheInvalidate?directory=userDirectory&directory=groupDirectory Invalidate the cache of the requested directories or of all directories if not directory name is given as parameter. </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.DirectoryCacheRestlet" enabled="true" name="directoryCache" useSeam="false"> <urlPatterns> <urlPattern>/directoryCacheInvalidate</urlPattern> </urlPatterns> </restletPlugin> <documentation> GET /nuxeo/restAPI/systemLog?token=1234&level=INFO&message=something Log something in the system logs of the server. The token has to match the system property org.nuxeo.systemlog.token. </documentation> <restletPlugin class="org.nuxeo.ecm.platform.ui.web.restAPI.SystemLogRestlet" enabled="true" name="systemLog" useSeam="false"> <urlPatterns> <urlPattern>/systemLog</urlPattern> </urlPatterns> </restletPlugin> </extension>
-
<extension point="restlets" target="org.nuxeo.ecm.platform.ui.web.restAPI.service.PluggableRestletService"> <restletPlugin class="org.nuxeo.ecm.webapp.seam.NuxeoSeamHotReloadRestTrigger" enabled="true" name="seamReloadTrigger" useSeam="false"> <urlPatterns> <urlPattern>/seamReload</urlPattern> </urlPatterns> </restletPlugin> </extension>